// samsting : this file is auto create.

#ifndef ALIYUN_Ecs_DescribeHaVipsResponse_H_
#define ALIYUN_Ecs_DescribeHaVipsResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Ecs {

class DescribeHaVipsResponse : public AcsResponse {
public:
  DescribeHaVipsResponse();

  class HaVip {
    friend class DescribeHaVipsResponse;
  public:
    const std::vector<associatedInstance>& GetAssociatedInstances(void) const;
    const std::vector<associatedEipAddresse>& GetAssociatedEipAddresses(void) const;
    const string& GetHaVipId(void) const;
    const string& GetRegionId(void) const;
    const string& GetVpcId(void) const;
    const string& GetVSwitchId(void) const;
    const string& GetIpAddress(void) const;
    const string& GetStatus(void) const;
    const string& GetMasterInstanceId(void) const;
    const string& GetDescription(void) const;
    const string& GetCreateTime(void) const;
  private:
    std::vector<associatedInstance> AssociatedInstances_;
    std::vector<associatedEipAddresse> AssociatedEipAddresses_;
    string HaVipId_;
    string RegionId_;
    string VpcId_;
    string VSwitchId_;
    string IpAddress_;
    string Status_;
    string MasterInstanceId_;
    string Description_;
    string CreateTime_;
  }; // HaVip 

  const std::vector<HaVip>& GetHaVips(void) const;
  int  GetTotalCount(void) const;
  int  GetPageNumber(void) const;
  int  GetPageSize(void) const;

private:
  std::vector<HaVip> HaVips_;
  int    TotalCount_;
  int    PageNumber_;
  int    PageSize_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Ecs {

#endif // #ifndef ALIYUN_Ecs_DescribeHaVipsResponse_H_

// end of file 
